#include <iostream>
#include <vector>

using namespace std;

// 2320. 统计放置房子的方式数
// https://leetcode.cn/problems/count-number-of-ways-to-place-houses/description/

int mod = 1e9 + 7;
int maxNum = 1e4 + 1;

vector<int> dp(maxNum);

// 预热
int init = []() -> int
{
    dp[0] = 1;
    dp[1] = 2;
    for (int i = 2; i < maxNum; i++)
    {
        dp[i] = (dp[i - 1] + dp[i - 2]*1LL) % mod;
    }
    return 0;
}();

class Solution
{
public:
    int countHousePlacements(int n)
    {
        return (dp[n]*1LL * dp[n] * 1LL) % mod;
    }
};

int main()
{
    return 0;
}